package com.spzx.channel.controller;

import com.spzx.channel.service.ItemService;
import com.spzx.common.core.web.controller.BaseController;
import com.spzx.common.core.web.domain.AjaxResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Tag(name = "商品详情模块") //swagger注解： 给模块取名称
@RequestMapping("item")
public class ItemController extends BaseController {
    @Resource
    ItemService itemService;
    // TableDataInfo 分页使用   AjaxResult 非分页数据的操作使用     R 远程调用使用 可以配置泛型
    @Operation(summary = "根据id查询商品详情")
    @GetMapping("{skuId}")
    public AjaxResult getItemBySkuId(@PathVariable("skuId")Long skuId){
        //调用业务层查询数据
        //将查询到的数据封装为统一响应对象返回
        return success(itemService.selectItemBySkuId(skuId));//调用BaseController的方法 将查询到的数据 封装为统一响应对象: {code:200,msg:xx,data:xx}
    }
    /*
        接口代码编写：
        1、需要知道 前端提交的请求参数有哪些 如何接收
            接口请求方式+路径
        2、需要知道页面需要的数据：
            前端已经写好了，必须按照前端的要求 返回固定格式的数据 属性名必须一样
            > 必须按照前端的接口文档来编写
     */
}
